package com.health.pojo.domain;

import lombok.Data;
import lombok.AllArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 患者详情信息
 *
 * @author WUYU_MIN
 * @date 2025-04-29 23:51:18
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("patients")
public class PatientDO {

    /**
     * 用户id:用户ID
     */
    @TableId(type = IdType.NONE)
    @Schema(description = "用户id:用户ID")
    private Integer userId;

    /**
     * 姓名:姓名
     */
    @TableField("name")
    @Schema(description = "姓名:姓名")
    private String name;

    /**
     * 性别:性别
     */
    @TableField("gender")
    @Schema(description = "性别:性别")
    private String gender;

    /**
     * 出生日期:出生日期
     */
    @TableField("date_of_birth")
    @Schema(description = "出生日期:出生日期")
    private Date dateOfBirth;

    /**
     * 年龄:年龄
     */
    @TableField("age")
    @Schema(description = "年龄:年龄")
    private Integer age;

    /**
     * 紧急联系人:紧急联系人
     */
    @TableField("emergency_contact")
    @Schema(description = "紧急联系人:紧急联系人")
    private String emergencyContact;

    /**
     * 医保卡号:医保卡号
     */
    @TableField("insurance_card_number")
    @Schema(description = "医保卡号:医保卡号")
    private String insuranceCardNumber;

    /**
     * 创建时间:创建时间
     */
    @TableField("created_at")
    @Schema(description = "创建时间:创建时间")
    private Date createdAt;

    /**
     * 修改时间:修改时间
     */
    @TableField("updated_at")
    @Schema(description = "修改时间:修改时间")
    private Date updatedAt;

    /**
     * 软删除时间:软删除时间
     */
    @TableField("deleted_time")
    @Schema(description = "软删除时间:软删除时间")
    private Date deletedTime;
}
